In recent years, P2P content distribution (e.g. live streaming or VoD) has received increased adoption, as well as research interest. Earlier research results focused on the theoreticallimits of such systems. Perhaps a more challenging task is to study the distributed algorithms for building such P2P systems, e.g. algorithms for scheduling transmission, algorithms for pickingpieces to exchange, or adjusting content replication; and algorithms for collecting user experiences. In this talk, I will review some recent work in this area, and discuss some challenging open problems.